package com.wjerp.tplus.server.application;

import com.wjerp.tplus.server.common.utils.SpringContextUtil;
import com.wjerp.tplus.server.domain.entity.sys.UserInfo;
import com.wjerp.tplus.server.domain.service.UserInfoService;

import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

/**
 * 通用服务接口
 * @author lishuailei
 */
public interface CommonService {

    /**
     * 根据用户显示ID列表获取用户Map映射信息
     * @param displayUserIdList 用户显示ID列表
     * @return 用户Map映射信息
     */
    default Map<String, List<UserInfo>> loadUserInfoMap(List<String> displayUserIdList){
        UserInfoService userInfoService = SpringContextUtil.getBeanByClass(UserInfoService.class);
        List<UserInfo> userInfos =  userInfoService.findUserInfoByDisplayUserIds(displayUserIdList);
        Map<String, List<UserInfo>> userInfoMap = userInfos.stream().collect(Collectors.groupingBy(UserInfo::getDisplayUserId));
        return userInfoMap;
    }
}
